package com.icebartech.base.modules.common.service;

import java.util.List;

import com.icebartech.base.modules.common.dto.DictDTO;
import com.icebartech.base.modules.common.model.SysCode;
import com.icebartech.core.modules.BaseService;

/**
 * 数据字典功能service类
 * @author wenhsh
 *
 */
public interface SysCodeService extends BaseService{
	
	
	/**
	 * 根据字典类型获取对应的字典列表
	 * @param codeType
	 * @return
	 */
	public List<SysCode> findSysCodeByType(String codeType);
	
	/**
	 * 根据字典类别和code id获取对应的字典唯一记录
	 * @param codeType 字典类型
	 * @param codeId code id
	 * @return
	 */
	public SysCode findSysCodeByCodeId(String codeType, Long codeId);
	
	/**
	 * 根据字典类别和父级code获取对应的字典列表
	 * @param codeType 字典类型
	 * @param parentCode 父级code_id
	 * @return
	 */
	public List<SysCode> findSysCodeByParentCode(String codeType, Long parentCode);

	/**
	 * 根据字典类别和codeNmae获取对应的字典记录，限制一条，
	 * @param codeType
	 * @param codeName
	 * @return
	 */
	public SysCode findSysCodeByCodeName(String codeType, String codeName);
	
	/**
	 * 获取省市区数据字典，会首先从缓存里面取
	 * @return
	 */
	public List<DictDTO> loadCityDict();
	
	/**
	 * 根据字典类别获取对应的字典列表
	 * @param codeType 字典类别
	 * @return
	 */
	public List<DictDTO> findDictByType(String codeType);
}
